package com.lanchetech.entity;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 农场任务
 */
@ApiModel(value = "com-lanchetech-entity-FarmTask")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class FarmTask implements Serializable {
    /**
     * id
     */
    @ApiModelProperty(value = "id")
    private Long id;

    /**
     * 任务类型 0 牧场产品 1 果园产品
     */
    @ApiModelProperty(value = "任务类型 0 牧场产品 1 果园产品")
    private Byte type;

    /**
     * 任务种类
     */
    @ApiModelProperty(value = "任务种类")
    private Long kind;

    /**
     * 任务名称
     */
    @ApiModelProperty(value = "任务名称")
    private String name;

    /**
     * 任务说明
     */
    @ApiModelProperty(value = "任务说明")
    private String description;

    /**
     * 任务主图
     */
    @ApiModelProperty(value = "任务主图")
    private String mainImage;

    /**
     * 奖励草料/水能量重量，千克
     */
    @ApiModelProperty(value = "奖励草料/水能量重量，千克")
    private BigDecimal reward;

    /**
     * 任务状态 0 已下架 1 已上架
     */
    @ApiModelProperty(value = "任务状态 0 已下架 1 已上架")
    private Byte status;

    /**
     * 已完成数量
     */
    @ApiModelProperty(value = "已完成数量")
    private Integer sales;

    /**
     * 库存数量
     */
    @ApiModelProperty(value = "库存数量")
    private Integer stock;

    /**
     * 每人可做数量
     */
    @ApiModelProperty(value = "每人可做数量")
    private Integer limitCount;

    /**
     * 关联编号id
     */
    @ApiModelProperty(value = "关联编号id")
    private Long relateId;

    /**
     * 关联数量
     */
    @ApiModelProperty(value = "关联数量")
    private Long count;

    /**
     * 拓展属性JSON
     */
    @ApiModelProperty(value = "拓展属性JSON")
    private String feature;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createdAt;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private Date updatedAt;

    /**
     * 排序，数字越大越靠前
     */
    @ApiModelProperty(value = "排序，数字越大越靠前")
    private Integer sorts;

    private static final long serialVersionUID = 1L;
}